摘 要:杨梅树[Myrica rubra (Lour.) S. et Zucc]是一种常绿乔木,树高5-15 m,胸径可达60 cm,树冠可达5 m以上。杨梅树广泛分布在我国江南地区,生长于海拔1,500 m以下酸性红壤、山坡向阳的地理环境中。杨梅果是具有江南地理特色的水果。发展杨梅树无人机影像智能识别模型,对提取杨梅树的位置和树冠信息,进而实现无人机精准喷农药和估产有重要意义。作者于2019年1月23-24日在浙江省永嘉县大洋山森林公园采用大疆Phantom4无人机进行航拍,并对杨梅树进行了多边形标记,即采用Mask RCNN(Region Convolutional Neural Networks)深度学习模型对杨梅树进行自动识别,对识别结果运用目视解译方法验证。结果表明,Mask RCNN在杨梅树识别方面有较高精度,总体检出率达90.08%(其中错检率为9.62%),漏检率为9.92%。杨梅树识别深度学习模型实验数据集包括:(1)无人机拍摄的浙江省永嘉县大洋山森林公园影像3,108张,影像尺寸为5,472×3,648;(2)杨梅树树冠样本标记数据(284张影像块);(3)杨梅树深度学习模型识别结果数据(14张影像块)。该数据集以.jpg、.JSON格式存储,有3690个数据文件组成,数据量为25.6 GB(压缩为71个文件,25.5 GB)。
关键词:杨梅树识别;无人机影像;Mask RCNN深度学习模型;实验数据集
DOI: https://doi.org/10.3974/geodp.2019.03.10
深度学习作为机器学习领域的一个分支,可以从大数据中自动学习到一些人类难以手动提取到的特征,因而能够取得以往传统浅层机器学习模型(如ANN)难以达到的效果[1,2],被《Nature》[2,3]、《PNAS》[4]等期刊争相报道,已成为遥感[1]、地球系统科学[2]等大数据处理领域一项重要的工具。Kellenberger et al.[5]使用卷积神经网络(CNNs,一种深度学习模型),从数千张4 cm分辨率无人机RGB影像中识别了20余种大型哺乳动物(实验中没有区分物种,统一当做动物一类),取得了较传统EESVM浅层机器学习[6]更高的精度(30%@80%召回率vs. 10%@75%召回率)。Norouzzadeh et al.[7]组合使用AlexNet、GoogLeNet、ResNet等9种深度神经网络模型,开展了基于地面红外触发相机图像中的动物的识别与分类,并取得与志愿者相近的精度(识别图像中是否存在动物的精度达96.6%)。Madec et al.[9]发展了一种基于Faster RCNN的麦穗识别算法,取得了较高的识别精度,相对均方根误差rRMSE为5.3%,甚至优于首轮人机交互标记精度[9]。和传统机器学习方法相比,深度学习精度更高,移植性更强,但训练得到的模型是不可以解释的[1],是一种黑匣解决方案,因此在遥感领域的使用存在一定争议,在实际应用中需要标记大量样本,并根据实际情况调整模型,以便取得更高精度和效率[3,5]。
随着Faster RCNN[8]和Mask RCNN[10]等模型的提出,深度学习模型的精度和速度都有了较大提升,在目标识别等领域已接近或超越了人类[7]。本研究基于大量高分辨率无人机航拍影像,利用TensorFlow平台,采用Mask RCNN深度学习算法对杨梅树进行了识别和标记。将测试结果与目视解译的结果进行比较,发现Mask RCNN能够较准确地识别杨梅树。
杨梅树识别深度学习模型实验数据集[11]的名称、作者、地理区域、时间分辨率、空间分辨率、数据年代、数据集组成、数据出版与共享服务平台、数据共享政策等信息见表1。
| 条目 | 描述 |
|---|---|
| 数据集名称 | 杨梅树识别深度学习模型实验数据集 |
| 数据集短名 | BayberryTreeRecogData |
| 作者信息 | 王东亮 0000-0002-1377-8394,中国科学院地理科学与资源研究所,wangdongliang@igsnrr.ac.cn 罗巍 0000-0003-2226-8414,中国科学院微电子研究所,luowei2@ime.ac.cn |
| 地理区域 | 浙江省永嘉县大洋山森林公园。具体范围:28°17′N-28°19′N,120°26′E-120°28′E |
| 数据年代 | 2019年1月23-24日,每天10:00-15:00 |
| 时间分辨率 | 仅覆盖1次 |
| 空间分辨率 | 3 cm |
| 数据格式 | .jpg、.JSON |
| 数据量 | 25.6 GB |
| 数据集组成 | 无人机原始影像、杨梅树标记数据、杨梅树识别深度学习模型实验结果数据。 |
| 基金项目 | 中华人民共和国科学技术部(2017YFC0506505, 2017YFB0503005);中国科学院(XDA23100200) |
| 出版与共享服务平台 | 全球变化科学研究数据出版系统 http://www.geodoi.ac.cn |
| 地址 | 北京市朝阳区大屯路甲11号100101,中国科学院地理科学与资源研究所 |
| 数据共享政策 | 全球变化科学研究数据出版系统的“数据”包括元数据(中英文)、实体数据(中英文)和通过《全球变化数据学报》(中英文)发表的数据论文。其共享政策如下:(1)“数据”以最便利的方式通过互联网系统免费向全社会开放,用户免费浏览、免费下载;(2)最终用户使用“数据”需要按照引用格式在参考文献或适当的位置标注数据来源;(3)增值服务用户或以任何形式散发和传播(包括通过计算机服务器)“数据”的用户需要与《全球变化数据学报》(中英文)编辑部签署书面协议,获得许可;(4)摘取“数据”中的部分记录创作新数据的作者需要遵循10%引用原则,即从本数据集中摘取的数据记录少于新数据集总记录量的10%,同时需要对摘取的数据记录标注数据来源[12]。 |
| 数据和论文检索系统 | DOI,DCI,CSCD,WDS/ISC,GEOSS,China GEOSS |
大洋山森林公园位于浙江省永嘉县,距离温州市区48.8 km,规划面积661.93 hm2。海拔330-893.1 m,平均坡度30°左右。年平均气温约17 ℃,无霜期约270天。年均降雨量1,500-1,900 mm。公园内有针叶林、杨梅园、铁皮石斛种植基地,森林覆盖率约87.4%。
Mask RCNN是一种概念简单和框架灵活的目标检测分割算法,不仅能实现目标的准确检测,而且能够对每个对象实例产生一个高质量的分割掩膜(Segmentation Mask)。Mask RCNN是在对原有的Faster RCNN进行扩展的基础上,融合了FCN(Fully Convolutional Networks)和FPN(Feature Pyramid Networks)思想,并添加一个分支在对一张图片所有的目标进行正确检测的同时还要对每个示例的掩膜进行预测。Mask RCNN分三个阶段:第一阶段,由Mask RCNN主干网络(即ResNet和FPN)提取出无人机图像的特征图;第二阶段,使用区域建议网络 (Region Proposal Network, RPN) 生成目标的建议框,并对建议框筛选得到感兴趣区域 (Regions of Interest, ROIs);第三阶段,对每个ROIs的预测类别、位置和对应的对象进行掩膜,生成目标对象掩膜多边形。
对测区进行分块和飞行路线的设计,获取无人机影像;然后,使用Mask RCNN进行杨梅树训练、识别与验证(图1)。
图1 数据集研发技术路线图
下载第一步,将无人机影像进行分块,并对杨梅树标记。由于Mask RCNN对计算机显存或内存有较高要求,本研究使用的电脑显存为6 GB,输入的影像尺寸不能太大,因此将原始影像分割为每块1,024×682像素或更小尺寸。在此基础上,对无人机影像杨梅树进行标记,并将样本分为训练样本(284张影像块)和验证样本(14张影像块)。
第二步,模型训练。基于TensorFlow搭建了Mask RCNN杨梅树识别模型,利用已标记的训练样本,对模型进行迭代训练,获得杨梅树识别深度学习模型。
第三步,模型验证。使用训练好的模型,对每张验证样本影像进行识别,获得杨梅树掩膜多边形,并与目视解译结果进行对比,计算模型精度。
数据集包括:(1)浙江省永嘉县无人机影像(表2);(2)无人机杨梅树影像块、样本标记多边形及杨梅树识别结果(表3)。
| 条目 | 描述 |
|---|---|
| 20190123大洋山01测区 | 01测区影像 |
| 20190123大洋山02测区 | 02测区影像 |
| 20190123大洋山03测区 | 03测区影像 |
| 20190124大洋山04测区 | 04测区影像 |
| 20190124大洋山04测区补拍 | 04测区补拍影像 |
| 20190124大洋山04测区继续 | 04测区继续影像 |
| 条目 | 描述 |
|---|---|
| 杨梅树训练影像块和样本标记多边形 | 包含284张影像块 |
| 杨梅树测试影像块和识别结果 | 包含14张待识别影像块、14张影像杨梅树识别结果 |
测区划分为4个,飞行路线见图2,获取影像3,108张,影像分辨率约3 cm,尺寸为5,472×3,648。训练样本包含284张影像块(从18张影像裁剪获得),在第1、2、4测区均有分布。用于识别结果验证的样本则包含14张影像块(从2张影像裁剪获得),只分布于第4测区,位置见图2。杨梅树多边形采用Labelme软件标记完成,见图3。识别结果见图4。
图2 测区划分与样本分布
下载
图3 基于Labelme标记的杨梅树多边形
下载
图4 杨梅树影像(左)与深度学习模型智能识别结果(右)
下载采用目视解译方法,对杨梅树深度学习模型的识别精度进行验证。验证样本包括从第4测区抽取的14张影像块。
检出率(True Positive Rate,TPR)为被模型检测的正样本(
)数目占目视解译目标总数(
)的比值:
(1)
错检率(False Positive Rate,FPR)表示一个样本集中,被分类器错误判定为目标的数目(
)占所有被模型判定为目标的数目(
)的比值:
(2)
漏检率(Loss Positive Rate,LPR)表示一个样本集中,未被模型检测到的目标数量(
)占目视解译目标总数(
)的比值:
(3)
基于MASK RCNN的杨梅树识别结果及模型精度如表4所示。
| 序号 | 影像编号 | 杨梅树个数 | 正确识别个数 | 错误识别个数 | 漏识别个数 | 检出率(%) | 错检率(%) | 漏检率(%) |
|---|---|---|---|---|---|---|---|---|
| 1 | 2019012404DJI_c_0546-1 | 25 | 25 | 1 | 0 | 100.00 | 3.85 | 0.00 |
| 2 | 2019012404DJI_c_0546-2 | 29 | 27 | 0 | 2 | 93.10 | 0.00 | 6.90 |
| 3 | 2019012404DJI_c_0546-3 | 0 | 0 | 10 | 0 | - | 100.00 | - |
| 4 | 2019012404DJI_c_0546-6 | 39 | 34 | 0 | 5 | 87.18 | 0.00 | 12.82 |
| 5 | 2019012404DJI_c_0546-7 | 43 | 41 | 0 | 2 | 95.35 | 0.00 | 4.65 |
| 6 | 2019012404DJI_c_0546-8 | 10 | 7 | 0 | 3 | 70.00 | 0.00 | 30.00 |
| 7 | 2019012404DJI_c_0546-9 | 46 | 43 | 0 | 3 | 93.48 | 0.00 | 6.52 |
| 8 | 2019012404DJI_c_0546-10 | 34 | 34 | 0 | 0 | 100.00 | 0.00 | 0.00 |
| 9 | 2019012404DJI_c_0526-13 | 33 | 33 | 0 | 0 | 100.00 | 0.00 | 0.00 |
| 10 | 2019012404DJI_c_0526-18 | 22 | 19 | 7 | 3 | 86.36 | 26.92 | 13.64 |
| 11 | 2019012404DJI_c_0526-19 | 46 | 39 | 0 | 7 | 84.78 | 0.00 | 15.22 |
| 12 | 2019012404DJI_c_0526-20 | 34 | 29 | 0 | 5 | 85.29 | 0.00 | 14.71 |
| 13 | 2019012404DJI_c_0526-21 | 29 | 25 | 0 | 4 | 86.21 | 0.00 | 13.79 |
| 14 | 2019012404DJI_c_0526-22 | 28 | 25 | 1 | 3 | 89.29 | 3.85 | 10.71 |
| 合计/平均 | 418 | 381 | 19 | 37 | 90.08 | 9.62 | 9.92 |
研究利用284张训练影像块,训练生成了基于MASK RCNN构建的深度学习网络,在14张测试影像中,总体检测精度较高,其中目视解译发现杨梅树418棵,深度学习模型检出381棵,错检19棵,漏检37棵。总体检出率达90.08%,错检率为9.62%,漏检率为9.92%(表4)。
14张影像中,存在错检现象的影像有4张(第1、3、10、14张),其中第3张和第10张影像分别错检10棵和7棵杨梅树。主要原因为:第3张影像中存在大面积水域,以及与杨梅树相近的松杉树,却不存在杨梅树,导致模型错误地将松杉树识别成杨梅树;第10张影像中同时存在杨梅树和松杉树,但松杉树与杨梅树的颜色和纹理等都较为接近,难以区分。存在漏识别现象的影像有10张(第2、4、5、6、7、10、11、12、13、14张),每张影像漏检杨梅树2-7棵,主要原因是杨梅树的色彩、形状、纹理与正常值存在较大差异。如由于人工修剪等原因,杨梅树通常呈现为圆形,但有的杨梅树没有修剪,形状不规则,与松杉接近;部分杨梅树叶发黄,与正常绿色差异较大。此外,由于本研究设定只输出得分大于0.8的杨梅树(得分小于0.8的不被识别为杨梅树),部分杨梅树虽然被识别出来了,但得分小于0.8,在显示时被自动剔除,造成漏检,需根据真实杨梅树识别的得分情况对输出分数阈值进行调整,降低因阈值设置不合理造成的漏检。
考虑到本文仅使用基本的MASK RCNN深度学习框架进行杨梅树识别,错检率和漏检率均近10%,精度有待提高。今后将针对杨梅树的树冠像素个数等特点,并采用负样本学习等方法,对模型进行改进,降低模型的错检率和漏检率,提升模型的精度和可靠性。此外,今后还将利用模型勾勒的树冠掩膜多边形,计算其树冠大小,并结合部分地面测得的杨梅树产量,开展杨梅树的估产研究。
作者分工:王东亮等人在大洋山森林公园工作人员协助下,采集和处理了无人机影像;王东亮、罗巍对数据集的开发做了总体设计,标记样本数据集,对模型进行设计、测试和验证,撰写了数据论文。
致谢:本次无人机航拍得到浙江生命林科技有限公司和大洋山森林公园工作人员的大力支持,在此表示衷心的感谢!